package org.easy.byteaidraw.dto;

import lombok.Data;

@Data
public class RoleFeatureRetentionRequest {

    /**
     * 参考图 可为空，无则文生图
     */
    private String originImg;

    /**
     * 用于生成图像的提示词 ，中英文均可输入。
     * 建议文本是描述性的语言，相对完整表述主体在什么环境有什么行为，可考虑将扩写或者图片主体反推的信息加入到prompt中
     */
    private String prompt;
    /**
     * 默认值：512 取值范围：[256, 768] 宽、高与512差距过大，则出图效果不佳、延迟过长概率显著增加。 超分前建议比例及对应宽高：width*height， 1:1：512*512 4:3：512*384 3:4：384*512 3:2：512*341 2:3：341*512 16:9：512*288 9:16：288*512
     */
    private Long width;
    /**
     * 默认值：512 取值范围：[256, 768] 宽、高与512差距过大，则出图效果不佳、延迟过长概率显著增加。 超分前建议比例及对应宽高：width*height， 1:1：512*512 4:3：512*384 3:4：384*512 3:2：512*341 2:3：341*512 16:9：512*288 9:16：288*512
     */
    private Long height;
    /**
     * 影响文本描述的程度
     * 默认值：3.5
     * 取值范围：[1, 10]
     */
    private Float scale = 3.5f;
    /**
     * 生成图像的步数
     */
    private Integer ddimSteps = 50;


    /**
     * 参考图主体外观的权重，越大生成结果和参考图中主体的相似度越高
     * 默认值：0.7 取值范围：[0, 1]
     */
    private Float ref_ip_weight = 0.8f;

    /**
     * 参考图人脸特征的权重，越大生成结果和参考图中人脸的相似度越高
     * 默认值：0.36 取值范围：[0, 1]，推荐取值范围：[0.2, 0.4]
     */
    private Float ref_id_weight = 0.8f;


}
